---
Title: "Icicle - Simulate multithread techniques in PHP"
Date: 2016-09-13 16:34:02
Categories: [programming]
tags: [generators, libs, php, promises, event-driven]
Slug: icicle-simulate-multithread-techniques-in-php
Authors: sedlav
---

**Icicle** uses Awaitables and Generators to create Coroutines, interruptible functions that use the yield keyword to define interruption points. When a Coroutine yields an Awaitable, execution of the coroutine is interrupted until the awaitable resolves.

**Feature Highlights**

* Full-featured event loop for asynchronous programming
* Multiple event loop back-ends
* Asynchronous TCP and UDP sockets
* Asynchronous DNS resolution
* Standalone HTTP and WebSocket server

[Link](https://icicle.io/)
